import $common from '@/common/js/common.js'
import wx from '@/common/js/jweixin.js'
//import wx from '@/common/js/qw-jweixin-1.2.0.js'
import $global from '@/common/js/global.js'

var loadConfig =false;
module.exports = {
	getLocation: function () {
        wx.openLocation({
            latitude: 0, // 纬度，浮点数，范围为90 ~ -90
            longitude: 0, // 经度，浮点数，范围为180 ~ -180。
            name: '', // 位置名
            address: '', // 地址详情说明
            scale: 1, // 地图缩放级别,整形值,范围从1~28。默认为最大
            infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转
        });
    },
	qwShare: function(appId){
		if (loadConfig) {
		    chooseImage();
		} else {
		    this.jssdk(function () {
		        chooseImage();
		    });
		}
	},
	share : function (options) {
        var wxShare = function () {
            if (options.link == undefined) options.link = location.href;
            //&from=singlemessage&isappinstalled=0?
            options.link = options.link.replace("&from=singlemessage&isappinstalled=0", "");
            options.link = options.link.replace("#page", "?&page");
            //分享到朋友圈
            wx.onMenuShareTimeline({
                title: options.title, // 分享标题
                link: options.link, // 分享链接
                imgUrl: options.imgUrl, // 分享图标
                success: function () {
                    // 用户确认分享后执行的回调函数
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                }
            });

            //分享给朋友
            wx.onMenuShareAppMessage({
                title: options.title, // 分享标题
                desc: options.desc, // 分享描述
                link: options.link, // 分享链接
                imgUrl: options.imgUrl, // 分享图标
                type: 'link', // 分享类型,music、video或link，不填默认为link
                dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
                success: function () {
                    //alert("分享成功");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                }
            });

            wx.onMenuShareQQ({
                title: options.title, // 分享标题
                desc: options.desc, // 分享描述
                link: options.link, // 分享链接
                imgUrl: options.imgUrl, // 分享图标
                success: function () {
                    // 用户确认分享后执行的回调函数
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                }
            });
        }

        if (loadConfig) {
            wxShare();
        } else {
            this.jssdk(function () { wxShare(); },['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ']);
        }
    },
	chooseImage : function (success, error) {
        var chooseImage = function () {
            wx.chooseImage({
                count: 1,
                needResult: 1,
                sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有  
                sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有  
                success: function (data) {
                    if (success) success(data);
                },
                fail: function (res) {
                    alert(JSON.stringify(res));
                }
            });
        }
     
        if (loadConfig) {
            chooseImage();
        } else {
            this.jssdk(function () {
                chooseImage();
            });
        }
    },
	scanQRCode:function (success) {
        var scanQRCode = function () {
            wx.scanQRCode({
                needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
                scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码，默认二者都有
                success: function (res) {
                    var resArray = res.resultStr.split(",");// 当needResult 为 1 时，扫码返回的结果
                    var result = "";
                    if (resArray.length == 2) {
                        result = resArray[1];
                    } else {
                        result = resArray[0];
                    }
                    if (success) success(result);
                }
            });
        };

        if (loadConfig) {
            scanQRCode();
        } else {
            this.jssdk(function () { scanQRCode(); });
        }
    },
	jssdk: function (success,jsApiList) {
		var url = location.href;
		url = url.substring(0,url.lastIndexOf("#"));
        var ajaxOptions = {
            url: "qw/signature",
            data: { url: url },
            success: function (res) {
                if (res.flag == 0) {
					wx.ready(function () {
					    loadConfig = true;
					    if (success) success();
					});
					console.log({
						debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
						appId: $global.appId,//res.data.appId, // 必填，公众号的唯一标识
						timestamp: res.data.timestamp, // 必填，生成签名的时间戳
						nonceStr: res.data.noncestr, // 必填，生成签名的随机串
						signature: res.data.signature,// 必填，签名
						jsApiList: jsApiList// 必填，需要使用的JS接口列表
					});
					
					wx.config({
						debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
						appId: $global.appId,//res.data.appId, // 必填，公众号的唯一标识
						timestamp: res.data.timestamp, // 必填，生成签名的时间戳
						nonceStr: res.data.noncestr, // 必填，生成签名的随机串
						signature: res.data.signature,// 必填，签名
						jsApiList: jsApiList// 必填，需要使用的JS接口列表
					});
				}
            }
        }
        $common.initAjax(ajaxOptions);
    },
	wxPay : function (data,success) {
		var pay = function(){
			if (data) {
				/* wx.chooseWXPay({
				    "timestamp": data.timeStamp,
				    "nonceStr": data.nonceStr,
				    "package":  data.package,
				    "signType": data.signType,
				    "paySign": data.paySign,
				    success: function (res) {
				        //支付成功后的回调函数
						if (success) success(true);
				    },fail:function(res){
						alert("error:" + JSON.stringify(res));
					}
				});
				 */
				
				if(typeof(WeixinJSBridge)=='undefined')
				{
					alert("请在微信浏览器完成操作");
				}else{
					WeixinJSBridge.invoke('getBrandWCPayRequest', {
						"appId": data.appId,     //公众号名称，由商户传入     
						"timeStamp": data.timeStamp,  //时间戳，自1970年以来的秒数     
						"nonceStr": data.nonceStr, //随机串     
						"package": data.package,
						"signType": data.signType,  //微信签名方式：     
						"paySign": data.paySign.replace("+"," "), //微信签名 
						"jsApiList": ['chooseWXPay']
					}, function (res) {
						if (res.err_msg === "get_brand_wcpay_request:ok") {
							//支付成功，跳转至订单详情页面
							//alert("支付成功");
							if (success) success(true);
						} else {
							//支付取消或支付失败，
							if(res.err_msg != "get_brand_wcpay_request:cancel"){
								alert(res.err_desc);
							}
							if (success) success(false);
						}
					});
				}
			}
		}
		pay();
		 
		/* if (loadConfig) {
		    pay();
		} else {
		    this.jssdk(function () { pay(); });
		} */
    }
}